package com.school.fuyuan.common.annotation;

import java.lang.annotation.*;

/**
 * @author zrhong
 * @version 1.0
 * @date 2019/3/3 20:38
 * @description
 */
@Inherited
@Documented
@Target({ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
public @interface Authenticate {

    /***校验企业是否存在***/
    String AUTH_ENTERPRISE = "0";
    /***用户类型,走用户鉴权***/
//    String AUTH_USER_TYPE = EabConstants.AUTH_USER_TYPE;
    /***角色类型,走角色鉴权***/
//    String AUTH_ROLE_TYPE = EabConstants.AUTH_ROLE_TYPE;
    /***平台类型,走appkey鉴权***/
//    String AUTH_PLATFORM_TYPE = EabConstants.AUTH_PLATFORM_TYPE;
    /***以上四种全校验***/
    String AUTH_ALL = "ALL";

    /***是否开启aop自动校验权限***/
    boolean openAuth() default false;

    /***需要aop自动校验哪些内容***/
    String[] authItems() default {};

    /**
     * 如果是appKey鉴权，且head的userId是空时，
     * 是否把head的userId设置成appKey以做存库操作（如modifyUserId）
     */
    boolean setUserIdToBeAppKey() default false;
}
